Notes and Setup

This is an initial attemmt at compiling the data. Future work includes: 1. Developing more rigorous QAQC procedures 2. Implimenting said procedures 3. Increasing the spead of the database upload…[right now it took over 7.5 hours!]

Water Level QAQC

Plots

This is preliminary data and will undergo more rigurous QAQC at a later date. I will go back and plot individually later as part of the QAQC procedure! :)

[[1]]


[[2]]


[[3]]


[[4]]


[[5]]


[[6]]


[[7]]


[[8]]


[[9]]


[[10]]


[[11]]


[[12]]


[[13]]


[[14]]


[[15]]


[[16]]


[[17]]


[[18]]


[[19]]


[[20]]


[[21]]

NA

Database Import

[1] 16
[1] 17
[1] 18
[1] 19
[1] 20
Time difference of 50.64946 secs
LS0tCnRpdGxlOiAiOS8wNC8xOCBEYXRhIERvd25sb2FkICYgUHJvY2Vzc2luZyIKb3V0cHV0OgogIGh0bWxfZG9jdW1lbnQ6CiAgICBkZl9wcmludDogcGFnZWQKICAgIHRvYzogeWVzCiAgICB0b2NfZmxvYXQ6IHllcwogIGh0bWxfbm90ZWJvb2s6CiAgICB0b2M6IHllcwogICAgdG9jX2Zsb2F0OiB5ZXMKLS0tCgojTm90ZXMgYW5kIFNldHVwCgpUaGlzIGlzIGFuIGluaXRpYWwgYXR0ZW1tdCBhdCBjb21waWxpbmcgdGhlIGRhdGEuICBGdXR1cmUgd29yayBpbmNsdWRlczoKMS4gIERldmVsb3BpbmcgbW9yZSByaWdvcm91cyBRQVFDIHByb2NlZHVyZXMKMi4gIEltcGxpbWVudGluZyBzYWlkIHByb2NlZHVyZXMKMy4gIEluY3JlYXNpbmcgdGhlIHNwZWFkIG9mIHRoZSBkYXRhYmFzZSB1cGxvYWQuLi5bcmlnaHQgbm93IGl0IHRvb2sgb3ZlciA3LjUgaG91cnMhXQoKCmBgYHtyIHNldHVwLCBlY2hvPUZBTFNFLCByZXN1bHRzPSJoaWRlIiwgd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRX0KI0NsZWFyIE1lbW9yeQpybShsaXN0PWxzKGFsbD1UUlVFKSkKCiNMb2FkIFJlcXVpcmVkIFBhY2thZ2VzCmxpYnJhcnkoZHBseXIpICAgCmxpYnJhcnkoZGV2dG9vbHMpCmxpYnJhcnkoUlNRTGl0ZSkKbGlicmFyeShEQkkpCmxpYnJhcnkoeHRzKQpsaWJyYXJ5KGR5Z3JhcGhzKQpsaWJyYXJ5KFJQb3N0Z3JlU1FMKQoKI0xvYWQgUGFsbWVyIExhYiB0b29scwpzb3VyY2UoIn4vcHJlc3N1cmVfdHJhbnNkdWNlcnMvZGJfZ2V0X3dhdGVyX2xldmVsX3RzLlIiKQpkZXZ0b29sczo6aW5zdGFsbF9naXRodWIocmVwbz0icm9kbTIiLHVzZXJuYW1lPSJraG9uZHVsYSIsIHF1aWV0ID0gRikKbGlicmFyeShyb2RtMikKCiNEZWZpbmUgd29ya2luZyBkaXJlY3RvcnkgYW5kIGRhdGFiYXNlIGxvY2F0aW9uCndvcmtpbmdfZGlyPC0iLy9uZnMvcGFsbWVyLWdyb3VwLWRhdGEvQ2hvcHRhbmsvTmF0ZS9QVF9EYXRhLzIwMTgwNDI4X0Rvd25sb2Fkcy8iCgojRG93bmxvYWQgRGF0YQptYXN0ZXI8LXJlYWQuY3N2KHBhc3RlMCh3b3JraW5nX2Rpciwid2VsbF9sb2cuY3N2IikpCgojQ3JlYXRlIHRlbXAgZmlsZQpkaXIuY3JlYXRlKHBhc3RlMCh3b3JraW5nX2RpciwiaW50ZXJtZWRpYXRlIikpCgojQ29ubmVjdCB0byBkYXRhYmFzZQpkYiA8LSBkYkNvbm5lY3QoUG9zdGdyZVNRTCgpLCAKICAgICAgICAgICAgICAgIGhvc3QgICAgID0gInNlc3luYy1wb3N0Z2lzMDEucmVzZWFyY2guc2VzeW5jLm9yZyIsCiAgICAgICAgICAgICAgICBkYm5hbWUgICA9ICJjaG9wdGFuayIsCiAgICAgICAgICAgICAgICB1c2VyICAgICA9ICJwYWxtZXJncm91cCIsIAogICAgICAgICAgICAgICAgcGFzc3dvcmQgPSByZWFkbGluZShwcm9tcHQ9IkVudGVyIHBhc3N3b3JkOiAiKSkKYGBgCgpgYGB7ciBpbml0aWFsLWNoZWNrcywgZWNobz1GQUxTRSwgcmVzdWx0cz0iaGlkZSJ9CiNDaGVjayB0byBtYWtlIHN1cmUgc2l0ZSBuYW1lcyBhcmUgaW4gREItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQphPC1hcy5tYXRyaXgobWFzdGVyWywiU2l0ZV9OYW1lIl0sIG5jb2w9MSkKYjwtZ2V0X3NpdGVfbmFtZXNfbGlrZSgiICIsZGIpI2FzLm1hdHJpeChkYkdldFF1ZXJ5KGRiLCJTRUxFQ1QgU2FtcGxpbmdGZWF0dXJlQ29kZSBGUk9NIFNhbXBsaW5nRmVhdHVyZXMiKSkKaWYobGVuZ3RoKGFbIShhICVpbiUgYildKSE9MCl7CiAgd2FybmluZyhwYXN0ZTAoIlNpdGUgTmFtZXMgaW4gV2VsbCBMb2cgYW5kIERhdGFiYXNlIGRvIG5vdCBtYXRjaCEhIikpCiAgcHJpbnQoYVshKGEgJWluJSBiKV0pCn1lbHNlewogICJTaXRlIE5hbWVzIE1hdGNoISIKfQoKI0NoZWNrIHRvIG1ha2Ugc3VyZSBTb25kZSBJRCBpbiB3ZWxsIGxvZyBhbmQgU2VyaWFsIE51bWJlciBpbiBmaWxlcyBtYXRjaC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmZ1bjwtZnVuY3Rpb24obil7CiAgI1JlYWQgZGF0YQogIHRlbXA8LXJlYWQuY3N2KHBhc3RlMCh3b3JraW5nX2RpciwiZXhwb3J0LyIsIGxvZ3Nbbl0pLCBza2lwPTEpCiAgCiAgI2V4dHJhY3Qgc2VyaWFsIG51bWJlcgogIHNlcmlhbF9udW1iZXI8LWNvbG5hbWVzKHRlbXApW2dyZXAoIkxHUiIsY29sbmFtZXModGVtcCkpXVsxXSAgI0ZpbmQgY29sbHVtbiBuYW1lIHdpdGggc2VyaWFsIG51bWJlcgogIHNlcmlhbF9udW1iZXI8LXN1YnN0cihzZXJpYWxfbnVtYmVyLCAgICNpc29sYXRlIHNlcmlhbCBudW1iZXIKICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZ2V4cHIoIlNFTi5TLk4iLHNlcmlhbF9udW1iZXIpW1sxXV1bMV0rOSwgI1N0YXJ0CiAgICAgICAgICAgICAgICAgICAgICAgIG5jaGFyKHNlcmlhbF9udW1iZXIpLTEpICNzdG9wCiAgc2VyaWFsX251bWJlcjwtYXMubnVtZXJpYyhzZXJpYWxfbnVtYmVyKSAKICAKICAjZXhwb3J0IHNlcmlhbCBudW1iZXIKICBzZXJpYWxfbnVtYmVyCn0KI0NyZWF0ZSBsaXN0IG9mIGZpbGVzIApsb2dzPC1saXN0LmZpbGVzKHBhc3RlMCh3b3JraW5nX2RpciwiZXhwb3J0IikpCmE8LXNhcHBseShzZXEoMSxsZW5ndGgobG9ncykpLCBmdW4pICAKYjwtbWFzdGVyJFNvbmRlX0lEICAKaWYobGVuZ3RoKGFbIShhICVpbiUgYildKSE9MCl7CiAgd2FybmluZyhwYXN0ZTAoIlNvbmRlIHNlcmlhbCBudW1iZXIgaW4gV2VsbCBMb2cgYW5kIGRhdGEgZmlsZXMgZG8gbm90IG1hdGNoISEiKSkKICBwcmludChhWyEoYSAlaW4lIGIpXSkKfWVsc2V7CiAgIlNlcmlhbCBOdW1iZXJzIE1hdGNoIgp9CgojQ2hlY2sgdW5pdHMgaW4gZmlsZXMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0NyZWF0ZSBmdW5jdG9pbiB0byBjaGVjayB1bml0cyBpbiBmaWxlCmZ1bjwtZnVuY3Rpb24obil7CiAgI0Rvbndsb2FkIGRhdGEKICB0ZW1wPC1yZWFkLmNzdihwYXN0ZTAod29ya2luZ19kaXIsImV4cG9ydC8iLCBsb2dzW25dKSwgc2tpcD0xKQogIAogICNDaGVjayBwcmVzc3VyZSB1bml0cwogIHByZXNzX3VuaXRzPC1jb2xuYW1lcyh0ZW1wKVtncmVwKCJrUGEiLGNvbG5hbWVzKHRlbXApKV1bMV0gCiAgcHJlc3NfdW5pdHM8LXN1YnN0cihwcmVzc191bml0cywgICAjaXNvbGF0ZSB0ZW1wZXJhdHVyZSB1bml0cwogICAgICAgICAgICAgICAgICAgICBncmVnZXhwcigiQWJzLlByZXMiLCBwcmVzc191bml0cylbWzFdXVsxXSsxMCwgI1N0YXJ0CiAgICAgICAgICAgICAgICAgICAgIGdyZWdleHByKCJBYnMuUHJlcyIsIHByZXNzX3VuaXRzKVtbMV1dWzFdKzEyKSAjc3RvcAoKICAjQ2hlY2sgdGVtcCB1bml0cwogIHRlbXBfdW5pdHM8LWNvbG5hbWVzKHRlbXApW2dyZXAoIlRlbXAiLGNvbG5hbWVzKHRlbXApKV1bMV0gCiAgdGVtcF91bml0czwtc3Vic3RyKHRlbXBfdW5pdHMsICAgI2lzb2xhdGUgdGVtcGVyYXR1cmUgdW5pdHMKICAgICAgICAgICAgICAgICAgICAgZ3JlZ2V4cHIoIlRlbXAiLCB0ZW1wX3VuaXRzKVtbMV1dWzFdKzcsICNTdGFydAogICAgICAgICAgICAgICAgICAgICBncmVnZXhwcigiVGVtcCIsIHRlbXBfdW5pdHMpW1sxXV1bMV0rNykgI3N0b3AKICAKICAjUHJpbnQgdW5pdHMKICBkYXRhLmZyYW1lKGZpbGVuYW1lPWxvZ3Nbbl0sIAogICAgICAgICAgICAgcHJlc3N1cmU9cHJlc3NfdW5pdHMsIAogICAgICAgICAgICAgdGVtcGVyYXR1cmU9dGVtcF91bml0cykKfQp4PC1sYXBwbHkoc2VxKDEsIGxlbmd0aChsb2dzKSksIGZ1bikKeDwtZGF0YS5mcmFtZShkby5jYWxsKHJiaW5kLHgpKQpwcmludCh4KQpgYGAKCmBgYHtyIHB0LWRhdGEtd3JhbmdsaW5nLCBlY2hvPUZBTFNFLCByZXN1bHRzPSJoaWRlIn0KI2NyZWF0ZSBmdW5jdGlvbiB0byBkb3dubG9hZCBsb2dzLCBjbGVhbiwgYW5kIHJld3JpdGUgaW4gdGVtcCBmb2xkZXIKZnVuPC1mdW5jdGlvbihuKXsKICAjU2V0dXB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgI1JlYWQgZGF0YQogIGRmPC1yZWFkLmNzdihwYXN0ZTAod29ya2luZ19kaXIsImV4cG9ydC8iLCBsb2dzW25dKSwgc2tpcD0xKQogIAogICNEZWZpbmUgc2VyaWFsIG51bWJlcgogIHNlcmlhbF9udW1iZXI8LWNvbG5hbWVzKGRmKVtncmVwKCJMR1IiLGNvbG5hbWVzKGRmKSldWzFdICAjRmluZCBjb2xsdW1uIG5hbWUgd2l0aCBzZXJpYWwgbnVtYmVyCiAgc2VyaWFsX251bWJlcjwtc3Vic3RyKHNlcmlhbF9udW1iZXIsICAgI2lzb2xhdGUgc2VyaWFsIG51bWJlcgogICAgICAgICAgICAgICAgICAgICAgICBncmVnZXhwcigiU0VOLlMuTiIsc2VyaWFsX251bWJlcilbWzFdXVsxXSs5LCAjU3RhcnQKICAgICAgICAgICAgICAgICAgICAgICAgbmNoYXIoc2VyaWFsX251bWJlciktMSkgI3N0b3AKICBzZXJpYWxfbnVtYmVyPC1hcy5udW1lcmljKHNlcmlhbF9udW1iZXIpIAogIAogICNEZXRlcm1pbmUgdGltZXpvbmUgb2Zmc2V0IGluIHNlY29uZHMKICB0aW1lX29mZnNldDwtY29sbmFtZXMoZGYpW2dyZXAoIkdNVCIsY29sbmFtZXMoZGYpKV0gICNHcmFiIGNvbGx1bW4gbmFtZSB3LyB0aW1lIG9mZnNldAogIHRpbWVfb2Zmc2V0PC1hcy5udW1lcmljKHN1YnN0cih0aW1lX29mZnNldCwgMTYsMTgpKSozNjAwK2FzLm51bWVyaWMoc3Vic3RyKHRpbWVfb2Zmc2V0LCAxOSwyMCkpKjYwCiAgCiAgI0RlZmluZSB2YXJpYWJsZXMgZnJvbSB3ZWxsIGxvZwogIHNpdGVfbmFtZTwtbWFzdGVyJFNpdGVfTmFtZVttYXN0ZXIkU29uZGVfSUQ9PXNlcmlhbF9udW1iZXJdCiAgZGVwbG95bWVudDwtc3RycHRpbWUocGFzdGUobWFzdGVyJERhdGVbbWFzdGVyJFNvbmRlX0lEPT1zZXJpYWxfbnVtYmVyXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXN0ZXIkVGltZVttYXN0ZXIkU29uZGVfSUQ9PXNlcmlhbF9udW1iZXJdKSwgCiAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0PSIlbS8lZC8lWSAlSDolTSIsIHR6PSJHTVQiKQogIGRlcGxveW1lbnQ8LWRlcGxveW1lbnQtdGltZV9vZmZzZXQKICByZWxhdGl2ZV93bDwtbWFzdGVyJFJlbGF0aXZlX1dhdGVyX0xldmVsX21bbWFzdGVyJFNvbmRlX0lEPT1zZXJpYWxfbnVtYmVyXQogICAgaWYoaXMubmEocmVsYXRpdmVfd2wpPT1UIHx8IGxlbmd0aChyZWxhdGl2ZV93bCk9PTApe3JlbGF0aXZlX3dsPC0wfQogIGJhcm9fZmlsZTwtbWFzdGVyJGJhcm9fZmlsZVttYXN0ZXIkU29uZGVfSUQ9PXNlcmlhbF9udW1iZXJdCiAgCiAgI3dhdGVyIGxldmVsIHRpbWUgc2VyZWlzfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgI3N1YnNldCBkYXRhZnJhbWUgdG8gdGVtcCwgYWJzX3ByZXMsIGFuZCB0ZW1wCiAgZGY8LWRmWyxjKDIsMyw0KV0KICBjb2xuYW1lcyhkZik8LWMoIlRpbWVzdGFtcCIsICJwcmVzc3VyZUFic29sdXRlIiwgInRlbXBfYyIpCiAgCiAgI2Zvcm1hdCBkYXRlX3RpbWUKICBkZiRUaW1lc3RhbXA8LXN0cnB0aW1lKGRmJFRpbWVzdGFtcCwgIiVtLyVkLyV5ICVJOiVNOiVTICVwIiktdGltZV9vZmZzZXQKICBkZiRUaW1lc3RhbXA8LWFzLlBPU0lYY3QoZGYkVGltZXN0YW1wKQogIAogICNiYXJvIGZpbGUgdGltZSBzZXJpZXN+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAjU3Vic2V0IGRhdGFmcmFtZSB0byB0ZW1wLCBhYnNfcHJlcywgYW5kIHRlbXAKICBiYXJvPC1yZWFkLmNzdihwYXN0ZTAod29ya2luZ19kaXIsImV4cG9ydC8iLCBiYXJvX2ZpbGUpLCBza2lwPTEpCiAgYmFybzwtYmFyb1ssYygyLDMsNCldCiAgY29sbmFtZXMoYmFybyk8LWMoIlRpbWVzdGFtcCIsICJiYXJvbWV0cmljUHJlc3N1cmUiLCAidGVtcF9jIikKICAKICAjZm9ybWF0IGRhdGUgYW5kIHRpbWUKICBiYXJvJFRpbWVzdGFtcDwtc3RycHRpbWUoYmFybyRUaW1lc3RhbXAsICIlbS8lZC8leSAlSTolTTolUyAlcCIpLXRpbWVfb2Zmc2V0CiAgYmFybyRUaW1lc3RhbXA8LWFzLlBPU0lYY3QoYmFybyRUaW1lc3RhbXApCiAgCiAgI0NhY2x1Y3VsYXRlIHdhdGVybGV2ZWx+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgI2NyZWF0ZSBiYXJvIGludGVycG9sYXRpb24gZnVuY3Rpb24KICBiYXJvX2Z1bjwtYXBwcm94ZnVuKGJhcm8kVGltZXN0YW1wLCBiYXJvJGJhcm9tZXRyaWNQcmVzc3VyZSkKICAKICAjY2FsY3VsYXRlIGJhcm8gZm9yIGVhY2ggZGYgdGltZSBzdGVwCiAgZGYkYmFyb21ldHJpY1ByZXNzdXJlPC1iYXJvX2Z1bihkZiRUaW1lc3RhbXApCiAgCiAgI0NhY2x1YXRlIGdhZ2UgcHJlc3N1cmUKICBkZiRwcmVzc3VyZUdhdWdlPC1kZiRwcmVzc3VyZUFic29sdXRlLWRmJGJhcm9tZXRyaWNQcmVzc3VyZQogIAogICNDYWxjdWxhdGUgcmVsYXRpdmUgd2F0ZXIgbGV2ZWwKICBkZiRnYWdlSGVpZ2h0PC1kZiRwcmVzc3VyZUdhdWdlLzkuODEKICAKICAjV2F0ZXIgTGV2ZWwKICBkZiR3YXRlckxldmVsPC1kZiRnYWdlSGVpZ2h0K3JlbGF0aXZlX3dsCiAgCiAgI1BydW5lIHdhdGVyIGxldmVsIGJhc2VkIG9uIGRlcGxveW1lbnQgdGltZQogIGRmPC1kZltkZiRUaW1lc3RhbXA8ZGVwbG95bWVudCxdCiAgZGY8LW5hLm9taXQoZGYpCiAgCiAgI2FkZCAib2Zmc2V0IGNvbGx1bW4iCiAgZGYkb2Zmc2V0PC0wCiAgCiAgI2RlbGV0ZSBwb3RlbnRpYWwgZHVwbGljYXRlcwogIGRmPC1kZlshZHVwbGljYXRlZChkZiksXQogIAogICNXcml0ZSBkZiB0byB0ZW1wIGZpbGUKICB3cml0ZS5jc3YoZGYsIHBhc3RlMCh3b3JraW5nX2RpciwiaW50ZXJtZWRpYXRlLyIsIHNlcmlhbF9udW1iZXIsIi5jc3YiKSkKfQoKI0NyZWF0ZSBsaXN0IG9mIFBUIGZpbGVzCmxvZ3M8LWxpc3QuZmlsZXMocGFzdGUwKHdvcmtpbmdfZGlyLCJleHBvcnQiKSkKCiNjcmVhdGUgdGVtcCBmaWxlIHRvIHN0b3JlIGludGVybWVkaWF0ZSBmaWxlcwpkaXIuY3JlYXRlKHBhc3RlMCh3b3JraW5nX2RpciwiaW50ZXJtZWRpYXRlIikpCgojUnVuIGZ1bmN0aW9uIApsYXBwbHkoc2VxKDEsIGxlbmd0aChsb2dzKSksIGZ1bikKYGBgCgojV2F0ZXIgTGV2ZWwgUUFRQwpgYGB7ciB0c19wbG90IGZ1bmN0aW9uLCBlY2hvPUZBTFNFLCByZXN1bHRzPSJoaWRlIn0KZnVuPC1mdW5jdGlvbihuKXsKICAjUmVhZCBkZgogIGRmPC1yZWFkLmNzdihwYXN0ZTAod29ya2luZ19kaXIsICJpbnRlcm1lZGlhdGUvIixtYXN0ZXIkU29uZGVfSURbbl0sIi5jc3YiKSkKICBkZiRUaW1lc3RhbXA8LWFzLlBPU0lYY3QoZGYkVGltZXN0YW1wKQogIGRmJHdhdGVyTGV2ZWw8LWRmJHdhdGVyTGV2ZWwqMTAwKzEwMDAgCiAgCiAgI3B1bGwgd2F0ZXIgbGV2ZWwgZnJvbSBkYXRhYmFzZQogIGRmX2hpc3RvcmljPC1OVUxMI2RiX2dldF93YXRlcl9sZXZlbF90cyhkYixwYXN0ZShtYXN0ZXIkU2l0ZV9OYW1lW25dKSkKICAKICAjRm9ybWF0IGRmCiAgaWYobGVuZ3RoKGRmX2hpc3RvcmljKT09MCl7CiAgICBkZiA8LSBkZiAlPiUgc2VsZWN0KFRpbWVzdGFtcCwgd2F0ZXJMZXZlbCkKICAgIGRmX3h0czwteHRzKGRmLCBvcmRlci5ieT1kZiRUaW1lc3RhbXApCiAgICBkZl94dHM8LWRmX3h0c1ssLTFdCiAgfWVsc2V7CiAgICAjYWRkIGRhdHVtIGNvcnJlY3Rpb24gdG8gZGZfaGlzdG9yaWMKICAgIGRmIDwtIGRmICU+JSBzZWxlY3QoVGltZXN0YW1wLCB3YXRlckxldmVsKQogICAgZGZfaGlzdG9yaWMkd2F0ZXJMZXZlbDwtZGZfaGlzdG9yaWMkd2F0ZXJMZXZlbCoxMDArMTAwMCAgCiAgICBkZl9oaXN0b3JpYzwtZGZfaGlzdG9yaWNbLGMoIlRpbWVzdGFtcCIsIndhdGVyTGV2ZWwiKV0KICAgIGRmX2hpc3RvcmljJGdyb3VwPC0ib2xkIgogICAgZGYkZ3JvdXA8LSJuZXciCiAgICBkZjwtcmJpbmQoZGZfaGlzdG9yaWMsIGRmKQogICAgZGZfc3ByZWFkIDwtIGRmICU+JSAKICAgICAgIGRwbHlyOjpzZWxlY3QoVGltZXN0YW1wLCBncm91cCwgd2F0ZXJMZXZlbCkgJT4lCiAgICAgICB0aWR5cjo6c3ByZWFkKGtleSA9IGdyb3VwLCB2YWx1ZSA9IHdhdGVyTGV2ZWwpCiAgICBkZl94dHM8LXh0cyhkZl9zcHJlYWQsIG9yZGVyLmJ5PWRmX3NwcmVhZCRUaW1lc3RhbXApCiAgICBkZl94dHM8LWRmX3h0c1ssLTFdCiAgICB9CiAgCiAgI1Bsb3QKICB0c19wbG90PC1keWdyYXBoKGRmX3h0cywgbWFpbj1tYXN0ZXIkU2l0ZV9OYW1lW25dKSAlPiUKICAgICAgICAgICAgICBkeVJhbmdlU2VsZWN0b3IoKSAlPiUKICAgICAgICAgICAgICBkeUxlZ2VuZCgpICU+JQogICAgICAgICAgICAgIGR5T3B0aW9ucyhzdHJva2VXaWR0aCA9IDEuNSkgJT4lCiAgICAgICAgICAgICAgZHlPcHRpb25zKGxhYmVsc1VUQyA9IFRSVUUpICU+JQogICAgICAgICAgICAgIGR5SGlnaGxpZ2h0KGhpZ2hsaWdodENpcmNsZVNpemUgPSA1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWdobGlnaHRTZXJpZXNCYWNrZ3JvdW5kQWxwaGEgPSAwLjIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVPbk1vdXNlT3V0ID0gRkFMU0UpICU+JQogICAgICAgICAgICAgIGR5QXhpcygieSIsIGxhYmVsID0gIldhdGVyIExldmVsIFtjbV0iKQogIAogICNFeHBvcnQgUGxvdAogIHJldHVybih0c19wbG90KQp9CmBgYAoKIyNQbG90cwpUaGlzIGlzIHByZWxpbWluYXJ5IGRhdGEgYW5kIHdpbGwgdW5kZXJnbyBtb3JlIHJpZ3Vyb3VzIFFBUUMgYXQgYSBsYXRlciBkYXRlLiBJIHdpbGwgZ28gYmFjayBhbmQgcGxvdCBpbmRpdmlkdWFsbHkgbGF0ZXIgYXMgcGFydCBvZiB0aGUgUUFRQyBwcm9jZWR1cmUhIDopIAoKYGBge3IsIGVjaG89RkFMU0V9CmxhcHBseShzZXEoMSwgbGVuZ3RoKG1hc3RlciRTaXRlX05hbWUpKSwgZnVuKQpgYGAKI0RhdGFiYXNlIEltcG9ydApgYGB7ciBkYXRhYmFzZSBpbXBvcnQsIGVjaG89RkFMU0V9CiNDcmVhdGUgZnVuY3Rpb24KZnVuPC1mdW5jdGlvbihuKXsKICAjRG93bmxvYWQgaW50ZXJtZWRpYXRlIHRzIGRhdGEKICBkZjwtcmVhZC5jc3YocGFzdGUwKHdvcmtpbmdfZGlyLCJpbnRlcm1lZGlhdGUvIiwgbG9nc1tuXSkpCiAgZGY8LWRmWyxjKCJUaW1lc3RhbXAiLCJ3YXRlckxldmVsIildCiAgZGYkVGltZXN0YW1wPC1hcy5QT1NJWGN0KGRmJFRpbWVzdGFtcCkKCiAgI1NvbmRlIElECiAgc248LWFzLm51bWVyaWMoc3Vic3RyKGxvZ3Nbbl0sIDEsbmNoYXIobG9nc1tuXSktNCkpCiAgCiAgI0NyZWF0ZSB2YXJpYWJsZSBsaXN0CiAgdmFyc19saXN0PC1saXN0KCMicHJlc3N1cmVBYnNvbHV0ZSIgICAgPSBsaXN0KGNvbHVtbiA9ICJwcmVzc3VyZUFic29sdXRlIiwgICB1bml0cyA9ICJLUGEiKSwKICAgICAgICAgICAgICAgICAgIyJiYXJvbWV0cmljUHJlc3N1cmUiICA9IGxpc3QoY29sdW1uID0gImJhcm9tZXRyaWNQcmVzc3VyZSIsIHVuaXRzID0gIktQYSIpLAogICAgICAgICAgICAgICAgICAjInByZXNzdXJlR2F1Z2UiICAgICAgID0gbGlzdChjb2x1bW4gPSAicHJlc3N1cmVHYXVnZSIsICAgICAgdW5pdHMgPSAiS1BhIiksCiAgICAgICAgICAgICAgICAgICMiZ2FnZUhlaWdodCIgICAgICAgICAgPSBsaXN0KGNvbHVtbiA9ICJnYWdlSGVpZ2h0IiwgICAgICAgICB1bml0cyA9ICJNZXRlciIpLAogICAgICAgICAgICAgICAgICAiV2F0ZXIgbGV2ZWwiICAgICAgICAgID0gbGlzdChjb2x1bW4gPSAid2F0ZXJMZXZlbCIsICAgICAgICAgdW5pdHMgPSAiTWV0ZXIiKSkjLAogICAgICAgICAgICAgICAgICAjIm9mZnNldCIgICAgICAgICAgICAgID0gbGlzdChjb2x1bW4gPSAib2Zmc2V0IiwgICAgICAgICAgICAgdW5pdHMgPSAiTWV0ZXIiKSkKCiAgI0luc2VydCBkYXRhIGludG8gZGF0YWJhc2UKICB0MDwtU3lzLnRpbWUoKQogIGRiX2luc2VydF9yZXN1bHRzX3RzKGRiID0gZGIsICMgZGF0YWJhc2UgY29ubmVjdG9uCiAgICAgICAgICAgICAgICAgICAgICAgZGF0YXZhbHVlcyA9IGRmLCAjIGRhdGEgZnJhbWUgb2YgdGltZSBzZXJpZXMgZGF0YQogICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZCA9ICJQVF9Eb3dubG9hZCIsCiAgICAgICAgICAgICAgICAgICAgICAgc2l0ZV9jb2RlID0gYXMuY2hhcmFjdGVyKG1hc3RlciRTaXRlX05hbWVbbWFzdGVyJFNvbmRlX0lEPT1zbl0pLAogICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlcyA9IHZhcnNfbGlzdCwKICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGVkbWVkaXVtID0gIkxpcXVpZCBhcXVlb3VzIiwKICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25ieSA9ICJOYXRlIiwgCiAgICAgICAgICAgICAgICAgICAgICAgZXF1aXBtZW50X25hbWUgPSBhcy5jaGFyYWN0ZXIobWFzdGVyJFNvbmRlX0lEW21hc3RlciRTb25kZV9JRD09c25dKSkKICB0ZjwtU3lzLnRpbWUoKQogIHRmLXQwCn0KCiNDcmVhdGUgbGlzdCBvZiBpbnRlcm1lZGlhdGUgZmlsZXMKbG9nczwtbGlzdC5maWxlcyhwYXN0ZTAod29ya2luZ19kaXIsImludGVybWVkaWF0ZSIpKQpsb2dzPC1sb2dzW2xvZ3MhPXBhc3RlMChtYXN0ZXIkU29uZGVfSURbbWFzdGVyJFNpdGVfTmFtZT09IkdyZWcgQ2F0Y2htZW50IE91dGxldCJdLCIuY3N2IildCmxvZ3M8LWxvZ3NbbG9ncyE9cGFzdGUwKG1hc3RlciRTb25kZV9JRFttYXN0ZXIkU2l0ZV9OYW1lPT0iRG9nYm9uZSBDYXRjaG1lbnQgT3V0bGV0Il0sIi5jc3YiKV0KbG9nczwtbG9nc1tsb2dzIT1wYXN0ZTAobWFzdGVyJFNvbmRlX0lEW21hc3RlciRTaXRlX05hbWU9PSJTb2x1dGUgQ2F0Y2htZW50IE91dGxldCJdLCIuY3N2IildCmxvZ3M8LWxvZ3NbbG9ncyE9cGFzdGUwKG1hc3RlciRTb25kZV9JRFttYXN0ZXIkU2l0ZV9OYW1lPT0iU1IgVXBsYW5kIFdlbGwgMSJdLCIuY3N2IildCmxvZ3M8LWxvZ3NbbG9ncyE9cGFzdGUwKG1hc3RlciRTb25kZV9JRFttYXN0ZXIkU2l0ZV9OYW1lPT0iU1IgVXBsYW5kIFdlbGwgMiJdLCIuY3N2IildCmxvZ3M8LWxvZ3NbbG9ncyE9cGFzdGUwKG1hc3RlciRTb25kZV9JRFttYXN0ZXIkU2l0ZV9OYW1lPT0iU2VhcnMgQmFybyJdLCIuY3N2IildCmxvZ3M8LWxvZ3NbbG9ncyE9cGFzdGUwKG1hc3RlciRTb25kZV9JRFttYXN0ZXIkU2l0ZV9OYW1lPT0iU04gVXBsYW5kIFdlbGwgMSJdLCIuY3N2IildCmxvZ3M8LWxvZ3NbbG9ncyE9cGFzdGUwKG1hc3RlciRTb25kZV9JRFttYXN0ZXIkU2l0ZV9OYW1lPT0iR1IgQmFybyJdLCIuY3N2IildCiAgIAoKI1J1biBmdW5jdGlvbgp0MDwtU3lzLnRpbWUoKQpmb3IoaSBpbiAxOmxlbmd0aChsb2dzKSl7CiAgcHJpbnQoaSkKICBmdW4oaSkKfQp0ZjwtU3lzLnRpbWUoKQp0Zi10MAoKI0Rpc2Nvbm5lY3QgZnJvbSBEQgpkYkRpc2Nvbm5lY3QoZGIpCmBgYAo=